// 允许我们将一个不定数量的参数表示为一个数组
// 场景：解决形参与实参个数不匹配的问题

function sum(...other){
   console.log(other) // [ 1, 2, 3, 4 ]
}
sum(1,2,3,4)

/**
 * ... 语法符号  置于最末函数形参之前，用于获取多余的实参
 * 借助 ... 获取的剩余实参 是个真数组
 * 箭头函数不支持  arguments，但是可以使用剩余参数
 */

// 求和
function fn(...num){
    let sum = 0
    num.forEach(item=>{
        sum += item
    })
    return sum
}
console.log(fn(1,2,3,4,5,6,7)) //28

function foo(a,...b){
    console.log(a,b) // 1 [ 2, 3 ]
}
console.log(foo(1,2,3))